草庐IT

c++ - Qt : Background thread refreshing UI thread

全部标签

xml - Qt XML 序列化/反序列化到 Q_PROPERTY

QJson(http://qjson.sourceforge.net)实现了一个非常方便的API,用于序列化和反序列化Q_OBJECTS-通过将它们的Q_PROPERTIES转换为qVariant,它允许对任意模型实例进行方便的序列化和反序列化。XML是否有类似的东西?QDom*和QXml*系列都相当有限。 最佳答案 据我所知,没有任何第3方库可以做到这一点。您有两个选择:一个。为每个对象手动编码序列化/反序列化。这很容易。要序列化,请执行以下操作:QDomElementAsset::ToXMLNode(QDomDocument&d

c - 在不解析库的情况下用 C 解析 XML 文件

我正在尝试访问XML文件中所有“mslevel”值等于1的标签。然后,生成一个.txt文件,其中包含标签内的数据字符串,包括位,无论是还是不是数据被压缩,而是原始二进制字符串。然后它应该更进一步,对文件中的任何其他标签执行相同的操作。这是针对不允许我使用解析库的项目。我不确定如何在不使用外部库的情况下访问XML文件中的标签,然后提取标签中的数据。我了解有关如何完成任务的高级计划,但不知道我应该使用什么工具。编辑:我突然想到在第一个标checkout现之前文件中还有更多内容。创建第一个mzmlFileBuffer时,它只获取整个文件的第一行“"我不确定为什么。它不会访问整个文件中带有标签

c++ - QT:QXmlStreamReader 总是返回 "Premature End of Document"错误

我对QtQXmlStreamReader有一个奇怪的问题。我正在尝试解析简单文档(注意:它是使用QXmlStreamWriter生成的):flamingoflamingo_top.psd使用这段代码:QFilefile(filename);if(file.open(QFile::ReadOnly|QFile::Text)){QXmlStreamReaderxmlReader(&file);while(xmlReader.readNextStartElement()){/*sameissuewhenuncommented:if(xmlReader.name()=="tex")t->rea

xml - 使用 Qt 读取和验证带有外部实体的 xml 文档

我正在尝试读取和验证具有外部实体的xml文档。但是我在阅读和验证方面都没有成功。我用了this创建测试示例。测试xml:]>&otherFile;其他xml:thisismycontent测试xsd:首先,我尝试使用QDomDocument读取test.xml的内容:QDomDocumentdoc;doc.setContent(&testFile);qDebug()但在调试输出中,我从test.xml中获取了原始文本。外部实体未被替换。然后我尝试根据test.xsd验证test.xml:QXmlSchemaschema;boolres=schema.load(&xsdFile,QUrl

c++ - QT 小部件与 QT GUI

我是QT的新手,实际上我还没有开始,但我打算从QT用户界面创建一个xml文件(标记和节点以及一切......)。例如,用户可以在我的界面文本字段中找到他可以插入员工姓名、ID和年龄的地方,我的程序会将其转换为我的输出xml文件中的员工节点,其属性为名称、ID、年龄。因此,由于我使用C++进行编码,因此我想将此界面创建为QTGUI,但我发现QTCreator提供了一个名为QTWidget的项目,该项目具有相同的选项。所以我现在有点困惑,我不知道它们之间有什么区别,所以我可以选择。我将感谢大家的帮助。 最佳答案 如果我没有正确理解您的问

c - 让 lex 读取 UTF-8 不起作用

我编写了一个解析ASCII文件的xml解析器,但我现在需要能够读取UTF-8编码的文件。我在lex中有以下正则表达式,但它们不匹配UTF-8。我不确定我做错了什么:utf_8[\x00-\xff]*bom[\xEF\xBB\xBF]然后:bom{fprintf(stderr,"OMGISAWABOM");returnBOM;}utf_8{fprintf(stderr,"OMGISAWAUTFCHAR",yytext[0]);returnUTF_8;}我还有以下语法规则:program:UTF8''root...UTF8是:UTF8:BOM{printf("isawabom\n");}|

c - xmlCopyNode (libxml2) 内存泄漏?

我在C/Linux上使用libxml2从xml文件中提取信息。我创建了一个函数来查找某个标记的第一次出现并返回该标记的副本。例如给定以下xml文本:FirstoccurrenceoftagbChildnodeSecondoccurrenceoftagb我想提取第一个标签,如果存在,则包含所有子标签。这是我使用的代码的简化版本:#include#include#include#include#include#ifdefLIBXML_TREE_ENABLEDstaticintxml_extract_first_occurrence_by_name(xmlNode*start_node,xm

c libcurl POST 不能始终如一地工作

我正在尝试使用libcurl将xml数据从c程序发布到网站。当我在linux中使用命令行程序时,像这样curl它工作正常:curl-XPOST-H'Content-type:text/xml'-d'我的xml数据'http://test.com/test.php(为了安全我更改了实际数据)但是,一旦我尝试使用libcurl编写C代码,它几乎每次都失败,但偶尔会成功。这是我的C代码:CURL*curl;CURLcoderes;curl=curl_easy_init();if(curl){curl_easy_init(curl,CURLOPT_URL,"http://test.com/te

xml - 如何在 Qt 中读取 XML 节点的属性?

我需要读取每个节点的a、b、c值(其中a、b、c是一些属性的名称)并将它们列在表中,但我不知道如何读取节点值。你能给一个示例代码吗?提前致谢 最佳答案 QFilefile("file.xml");if(file.open(QIODevice::ReadOnly)){QXmlStreamReaderreader(file.readAll());file.close();while(!reader.atEnd()){reader.readNext();if(reader.isStartElement()){if(reader.name(

xml - Qt 5 在 XML 中生成随机属性顺序

当从Qt4.8切换到Qt5.x时,您可能会注意到每次保存XML文档时它都会在文件中产生随机属性顺序。以编程方式读取XML文档没有问题,因为在反序列化XML时允许以任何顺序存储属性。当您使用GIT、SVN等跟踪输出XML文件的更改时,这是一个问题-无法判断XML文件中的数据是否更改或属性结构是否更改。是否可以在Qt5.x中以与Qt4.8中相同的方式生成XML文件? 最佳答案 我尝试使用哈希种子,但只有在您使用一台机器时它才能正常工作。如果在第一台机器上创建的文件在第二台机器上打开,即使我将哈希种子设置为相同的值,相同的代码也不会产生相